package cn.t.dto.user;


import cn.t.core.mode.BaseDTO;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @author l
 */
@EqualsAndHashCode(callSuper = true)
@Data
@JsonIgnoreProperties(value = {"gmtModifiedStart", "gmtModifiedEnd", "gmtCreatedStart", "gmtCreatedEnd"}, allowSetters = true)
public class CreateUserRequest extends BaseDTO implements Serializable {

    /**
     * 用户名
     * 可以为空
     */
    @Size(min = 0, max = 30)
    private String userName;

    /**
     * 个人姓名
     * 可以为空
     */
    @Size(min = 0, max = 30)
    private String individualName;

    /**
     * 手机号
     * 可以为空
     */
    @Size(min = 0, max = 11)
    private String phoneNumber;

    /**
     * 员工卡号
     * 可以为空
     */
    @Size(min = 0, max = 30)
    private String cardCode;

    /**
     * 员工工号
     * 可以为空
     */
    @Size(min = 0, max = 30)
    private String employeeCode;

    /**
     * 成本中心 ID
     */
    @DecimalMax(value = Long.MAX_VALUE + "")
    private Long costCenterId;

    /**
     * 角色 ID
     */
    private Long roleId;

    /**
     * 登录密码
     * 可以为空
     */
    @Size(min = 0, max = 16)
    private String loginPassword;
}
